package com.bubblegumproject.ogo.swing.events;

import java.io.Serializable;

/**
 * An ExceptionProtocol translates {@code Throwable} objects into high-level {@link ErrorEvent} objects that can then
 * be used to communicate meaningful feedback to the user. In a swing application the ExceptionProtocol is used to
 * translate domain and model layer Exceptions into meaningful application errors that can then be presented to the
 * user.
 *
 * @author Azubuko Obele (buko.obele@gmail.com)
 */
public interface ExceptionProtocol extends Serializable {

    public ErrorEvent translate(Throwable t, Object source);
    
}
